****What follows are the Stata commands necessary to produce all of the figures in the supplementary appendix. Before running the commands, convert all datasets into Stata format, or otherwise infile them at the relevant command. Also include the relevant file path information for each dataset.

****to produce Figure A1
use "votes.dta"
merge m:1 congress state_icpsr using "populations.dta"
drop _merge
keep if congress < 68
merge m:1 congress state_icpsr using "eligible_electorate.dta"
drop _merge
gen yesvote = cast_code
recode yesvote (1=1) (6=0) (else=.)
gen novote=cast_code
recode novote (6=1) (1=0) (else=.)
gen yespop= (yesvote * population)/2
gen nopop= (novote * population)/2
gen yespoten= (yesvote * potential)/2
gen nopoten= (novote * potential)/2
collapse (sum) yesvote novote yespop nopop yespoten nopoten, by(congress rollnumber)
gen cmy=0
replace cmy=1 if (yesvote > novote) & (yespop< nopop)
gen cmn=0
replace cmn=1 if (novote >=yesvote) & (yespop>nopop)
gen cm = cmy+cmn
gen cmypot=0
replace cmypot=1 if (yesvote > novote) & (yespoten< nopoten)
gen cmnpot=0
replace cmnpot=1 if (novote >=yesvote) & (yespoten>nopoten)
gen cmpot = cmypot+cmnpot
collapse (mean) cm cmpot, by(congress)
replace congress=(2*congress) - 1 + 1788
twoway (connected cm congress, sort msymbol(none) lcolor(black) lpattern(solid)) (connected cmpot congress, sort msymbol(none) lcolor(red) lpattern(solid)), ytitle(Fraction countermajoritarian) ylabel(0(.05).4, labsize(small) angle(horizontal)) xtitle(, size(zero)) xlabel(1789(4)1921, labsize(small) angle(forty_five)) legend(order(1 "Population" 2 "Eligible Electorate")) scheme(s1mono)
clear


****to produce Figure A2
use "FigA2.dta"
replace congress=(2*congress) - 1 + 1788
twoway (connected cm congress, sort msymbol(none) lcolor(black) lwidth(thin) lpattern(solid)) (connected cmnoties congress, sort msymbol(none) lcolor(blue) lwidth(thin) lpattern(solid)) (connected cmvp congress, sort msymbol(none) lcolor(red) lwidth(thin) lpattern(solid)), ytitle(Fraction countermajoritarian) ylabel(0(.1).4, angle(horizontal)) xtitle(, size(zero)) xlabel(1789(10)2021, labsize(small) angle(forty_five)) legend(order(1 "Figure 2 in article" 2 "Ties dropped" 3 "VP tiebreakers included") cols(1)) scheme(s1mono)
clear


****to produce Figure A3
use "votes.dta"
merge m:1 congress state_icpsr using "populations.dta"
drop _merge
gen yesvote = cast_code
recode yesvote (1=1) (6=0) (else=.)
gen novote=cast_code
recode novote (6=1) (1=0) (else=.)
gen yespop= (yesvote * population)/2
gen nopop= (novote * population)/2
collapse (sum) yesvote novote yespop nopop, by(congress rollnumber)
gen cmy=0
replace cmy=1 if (yesvote > novote) & (yespop< nopop)
gen cmn=0
replace cmn=1 if (novote >=yesvote) & (yespop>nopop)
gen cmy01=0
replace cmy01=1 if (yesvote > novote) & (yespop< nopop) & abs((yespop-nopop)/(yespop+nopop)) > .01
gen cmy03=0
replace cmy03=1 if (yesvote > novote) & (yespop< nopop) & abs((yespop-nopop)/(yespop+nopop)) > .03
gen cmy05=0
replace cmy05=1 if (yesvote > novote) & (yespop< nopop) & abs((yespop-nopop)/(yespop+nopop)) > .05
gen cmy10=0
replace cmy10=1 if (yesvote > novote) & (yespop< nopop) & abs((yespop-nopop)/(yespop+nopop)) > .1
gen cmn01=0
replace cmn01=1 if (novote >=yesvote) & (yespop>nopop) & abs((yespop-nopop)/(yespop+nopop)) > .01
gen cmn03=0
replace cmn03=1 if (novote >=yesvote) & (yespop>nopop) & abs((yespop-nopop)/(yespop+nopop)) > .03
gen cmn05=0
replace cmn05=1 if (novote >=yesvote) & (yespop>nopop) & abs((yespop-nopop)/(yespop+nopop)) > .05
gen cmn10=0
replace cmn10=1 if (novote >=yesvote) & (yespop>nopop) & abs((yespop-nopop)/(yespop+nopop)) > .1
gen cm = cmy+cmn
gen cm01 = cmy01+cmn01
gen cm03 = cmy03+cmn03
gen cm05 = cmy05+cmn05
gen cm10 = cmy10 + cmn10
collapse (mean) cm cm01 cm03 cm05 cm10, by(congress)
replace congress=(2*congress) - 1 + 1788
twoway (connected cm congress, sort msymbol(none) lcolor(black) lwidth(medthick) lpattern(solid)) (connected cm01 congress, sort msymbol(none) lcolor(black) lwidth(medthin) lpattern(solid)) (connected cm03 congress, sort msymbol(none) lcolor(blue) lwidth(medthin) lpattern(solid)) (connected cm05 congress, sort msymbol(none) lcolor(green) lwidth(medthin) lpattern(solid)) (connected cm10 congress, sort msymbol(none) lcolor(red) lwidth(medthin) lpattern(solid)), ytitle(Fraction countermajoritarian) ylabel(, labsize(small) angle(horizontal)) xtitle(, size(zero)) xlabel(1789(10)2021, labsize(small) angle(forty_five)) legend(order(1 "> 0" 2 "> 1%" 3 "> 3%" 4 "> 5%" 5 ">10%")) scheme(s1mono)
clear


****to produce Figure A4
use "motions.dta"
gen supercoll=.
replace supercoll=0 if supermaj==0
replace supercoll=1 if supermaj>0
gen treaty=.
replace treaty=1 if supermaj==1
recode treaty (.=0)
collapse (mean) supercoll treaty, by(congress)
replace congress=(2*congress) - 1 + 1788
twoway (connected supercoll congress, sort msymbol(none) lcolor(black) lpattern(solid)) (connected treaty congress, sort msymbol(none) lcolor(red) lpattern(solid)), ytitle(Fraction of roll calls) ylabel(0(.1).5, angle(horizontal)) xtitle(, size(zero)) xlabel(1789(10)2021, labsize(small) angle(forty_five)) legend(order(1 "All supermajority votes" 2 "Treaty ratifications alone")) scheme(s1mono)
clear


****to produce Figure A5
use "votes.dta"
merge m:1 congress state_icpsr using "populations.dta"
drop _merge
gen yesvote = cast_code
recode yesvote (1=1) (6=0) (else=.)
gen novote=cast_code
recode novote (6=1) (1=0) (else=.)
gen yespop= (yesvote * population)/2
gen nopop= (novote * population)/2
collapse (sum) yesvote novote yespop nopop, by(congress rollnumber)
gen cmy=0
replace cmy=1 if (yesvote > novote) & (yespop< nopop)
gen cmn=0
replace cmn=1 if (novote >=yesvote) & (yespop>nopop)
gen cm = cmy+cmn
keep if congress > 78
merge 1:1 congress rollnumber using "motions.dta"
gen nomination=.
replace nomination = 1 if motiontype==6
recode nomination (.=0)
keep if congress > 90
collapse (mean) cm, by(congress nomination)
replace congress=(2*congress) - 1 + 1788
twoway (connected cm congress if nomination==0, sort msymbol(none) lcolor(blue) lpattern(solid)) (connected cm congress if nomination==1, sort msymbol(none) lcolor(red) lpattern(solid)), ytitle(Fraction countermajoritarian) ylabel(, labsize(small) angle(horizontal)) xtitle(, size(zero)) xlabel(1969(2)2022, labsize(small) angle(forty_five)) legend(order(1 "Other Motions" 2 "Nominations")) scheme(s1mono)
clear




